package org.iabako.shared.iservice.business;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import org.iabako.shared.entity.business.PaymentRequestConfig;
import org.iabako.shared.entity.user.Enterprise;
import org.iabako.shared.exception.IabakoActionForbiddenException;
import org.iabako.shared.iservice.generic.CRUDService;

import java.util.List;

/**
 * Created by jose on 29/01/15.
 */

@RemoteServiceRelativePath("iabakoServices/paymentRequestService")
public interface PaymentRequestService extends RemoteService, CRUDService {

    PaymentRequestConfig save(PaymentRequestConfig entity) throws IabakoActionForbiddenException;

    PaymentRequestConfig getByEnterprise();

    List<Integer> getNumberOfInstallmentsForRequestBetween(PaymentRequestConfig paymentRequestConfig);

    void copyPaymentRequestConfig(Enterprise parentEnterprise, Enterprise newEnterprise);
}
